package com.canaan.business.service.basic;

import com.canaan.business.domain.basic.WmsProductBom;
import com.canaan.business.domain.importEntity.ProductBomImportEntity;
import com.canaan.business.domain.vo.WmsProductBomExportVo;

import java.util.List;

/**
 * 物料BOM管理Service接口
 *
 * @author ruoyi
 * @date 2023-01-28
 */
public interface IWmsProductBomService {
    /**
     * 查询物料BOM管理
     *
     * @param id 物料BOM管理主键
     * @return 物料BOM管理
     */
    public WmsProductBom selectWmsProductBomById(Long id);

    /**
     * 查询物料BOM管理列表
     *
     * @param wmsProductBom 物料BOM管理
     * @return 物料BOM管理集合
     */
    public List<WmsProductBom> selectWmsProductBomList(WmsProductBom wmsProductBom);

    /**
     * 新增物料BOM管理
     *
     * @param wmsProductBom 物料BOM管理
     * @return 结果
     */
    public int insertWmsProductBom(WmsProductBom wmsProductBom);

    /**
     * 修改物料BOM管理
     *
     * @param wmsProductBom 物料BOM管理
     * @return 结果
     */
    public int updateWmsProductBom(WmsProductBom wmsProductBom);

    /**
     * 批量删除物料BOM管理
     *
     * @param nos 需要删除的物料BOM管理NO集合
     * @return 结果
     */
    public int deleteWmsProductBomByNos(String[] nos);

    /**
     * 取消物料BOM
     *
     * @param id 需要取消的物料BOM管理id
     */
    void cancelBom(Long id);

    /**
     * 删除物料BOM管理信息
     *
     * @param id 物料BOM管理主键
     * @return 结果
     */
    public int deleteWmsProductBomById(Long id);

    /**
     * 导入物料BOM信息
     *
     * @param fileDataList 文件数据列表
     * @return 结果
     */
    String importBom(List<ProductBomImportEntity> fileDataList);

    /**
     * 导出查询
     * @param wmsProductBom 查询参数
     * @return
     */
    List<WmsProductBomExportVo> exportList(WmsProductBom wmsProductBom);
}
